1. Field of the Invention
The present invention relates generally to quickly and efficiently exploring data-centric Web applications.
2. Description of the Related Art
The World Wide Web and other information repositories such as online databases and file servers afford quick access to a large amount of information. Indeed, it has been estimated that 40% of the Web""s content originates from databases. As but one example, it might be possible to explore an online database of vehicles by specifying values for particular attributes, e.g., manufacturer, price, engine size, and so on.
Unfortunately, current technology for exploring such databases is relatively primitive, requiring users to input a query to a search engine which then returns a results set that is often too large or too small for the user""s purposes. In the context of the above-mentioned vehicle example, for instance, a user might query for vehicles having engines larger than two liters, and in response might be presented a results set listing thousands of vehicles. Or, a user might query for vehicles made by Porsche and costing less than $20000 and be presented with a null set. In any case, it then falls to the user to guess how to tighten or relax the query, and to then undertake the query/response cycle again, potentially many times using the above-described trial and error query refinement.
Furthermore, once results are displayed, no additional exploration features are offered with respect to the results set. And, the query borders are strictxe2x80x94a record falling just outside the query boundaries will not be seen at all by the user. In the context of the above-mentioned vehicle example, for instance, a user might specify a price range of $15000-$20000, with perhaps a vehicle the user might find desirable being priced at $14,999 and thus unfortunately not returned as part of the results set. Still further, a user might happen upon a record returned as part of a query results set that the user finds particularly interesting, but unfortunately cannot use as an example, with current Web database search engines, to query for additional similar records. Fortunately, the present invention has considered the above-noted drawbacks and has provided the below-disclosed solutions.
A computer is disclosed that is programmed to undertake fast, efficient queries in, e.g., database-centric web applications, although the source of the data can be a local database, a file system, table data from hypertext markup language pages, or indeed any source of attribute-value data records. For illustration purposes, the source of data will be assumed to be a web-accessible database.
The logic executed by the computer includes displaying at least a portion of a set of records from a database. Each record has at least one attribute, and the set of records establishes a results set. For at least one attribute, a respective attribute control is displayed that can be used to specify at least one attribute restriction. When an attribute restriction is received, the results set is modified.
In a preferred embodiment, only records that are to be actually displayed are included during the modifying step. Also, the user can select an example record and the results set modified in response thereto. As envisioned by the present invention, the records can have at least one numeric attribute or at least one categorical attribute.
In another aspect, a graphical user interface (GUI) for querying a database that is accessible via a wide area computer network can include attribute controls which are configured to permit a user to modify a results set generated from a database query without further querying the database. In the preferred GUI, the attribute controls include at least one numeric attribute control and/or at least one categorical attribute control. The attribute controls can be used to establish respective ranges for numerical and categorical attributes to thereby modify a results set. Furthermore, the attribute controls include means for permitting a user to select at least one example from the results set and to modify the results set in accordance with the example. The results set is established by the smallest hypercube that contains all data points of the example. If desired, a rank button can be provided that is manipulable to rank the records in the modified results set and to cause records near but not in the modified results set to be displayed.
In still another aspect, a computer program product includes a program of instructions that have computer readable code means for receiving a results set from a database accessible locally or via a wide area computer network. The results set contains records characterized by attributes. Also, computer readable code means display attribute controls to a user, and computer readable code means alter the results set in response to receiving user input via the attribute controls.
In yet another aspect, a computer-implemented method is disclosed for facilitating database exploration. The method includes receiving a results set from the database including records characterized by attributes, and enabling a user to define at least one attribute restriction. Using only records in the results set, a modified results set is displayed that satisfies the attribute restriction.